package cn.pid21.client.util;

import cn.pid21.client.model.DataReportClientConfig;
import org.yaml.snakeyaml.Yaml;

import java.io.InputStream;
import java.util.Map;

/**
 * PID 客户端配置文件工具类
 *
 * @author 郭志斌
 * @version 1.0.0
 * <b>Creation Time:</b> 2019/8/15 12:32
 */
public final class ConfigUtil {

    private ConfigUtil(){

    }

    /**
     * 加载 data-report-client.yml 配置文件
     * @return PidClientConfig
     */
    public static DataReportClientConfig load(){
        return new Yaml().loadAs(ConfigUtil.class.getClassLoader().getResourceAsStream(DataReportClientConfig.PID_CLIENT_CONFIG),
            DataReportClientConfig.class);
    }

    /**
     * 加载 YAML 配置文件
     * @param file String
     * @return Map<String,Object>
     */
    public static Map<String,Object> load(String file){
        return new Yaml().loadAs(file,Map.class);
    }

    /**
     * 加载 YAML 配置文件
     * @param in InputStream
     * @return Map<String,Object>
     */
    public static Map<String,Object> load(InputStream in){
        return new Yaml().loadAs(in,Map.class);
    }

}
